#ifndef STATE_PARSER_
#define STATE_PARSER_

#include <iostream>
#include <vector>
#include "log.h"
#include "tinyxml2.h"
#include "texture_manager.h"
#include "game.h"
#include "game_object_factory.h"

class GameObject;

class StateParser {
private:
    void ParseObjects(tinyxml2::XMLElement* object_root, std::vector<GameObject*>* objects);
    void ParseTextures(tinyxml2::XMLElement* texture_root, std::vector<std::string>* texture_id);
public:
    bool ParseState(const char* state_file, std::string state_id, std::vector<GameObject*>* objects, std::vector<std::string>* texture_id);

};



#endif // STATE_PARSER


